with My_String; use My_String;
with Ada.Text_IO; use Ada.Text_IO;

package body Fonctionnalites.IO is

   procedure Afficher_Fonctionnalites is
   begin
      Put("Action ( ");
      For F in Type_Fonctionnalites loop
         Put( Type_Fonctionnalites'Image(F) & " ");
      end loop;
      Put(") :");
   end Afficher_Fonctionnalites;

   function Get return Type_Fonctionnalites is
      Action : Type_Fonctionnalites;
   begin
      loop

         Declare
         begin
            Afficher_Fonctionnalites;
            Action := Type_Fonctionnalites'Value(My_String.toUpper(Get_Line));
            exit;
         Exception
            when others =>
               put_Line("Erreur, cette action n'existe pas :");
         end;
      end loop;
      return Action;
   end Get;

end Fonctionnalites.IO;